home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 7121 < prev    next >
Mailbox/MIME Entity  |  1996-08-05  |  2.3 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: Mailbox/MIME Entity (archive/mbox).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert Mailbox/MIME Entity (archive/mbox) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news text default
99% file C++ source text default
98% file C source text default
97% file C source, ASCII text default
100% checkBytes Printable ASCII default
100% dexmagic PrintFox/Pagefox WEAK default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/950 MIME Email (1.0) default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/news default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 6c 6f | 63 75 74 75 73 2e 72 63 |Path: lo|cutus.rc|
|00000010| 68 6c 61 6e 64 2e 69 62 | 6d 2e 63 6f 6d 21 75 73 |hland.ib|m.com!us|
|00000020| 65 6e 65 74 0a 46 72 6f | 6d 3a 20 50 68 69 6c 69 |enet.Fro|m: Phili|
|00000030| 70 20 53 74 61 69 74 65 | 20 3c 70 73 74 61 69 74 |p Staite| <pstait|
|00000040| 65 2b 40 72 63 68 6c 61 | 6e 64 2e 69 62 6d 2e 63 |e+@rchla|nd.ibm.c|
|00000050| 6f 6d 3e 0a 4e 65 77 73 | 67 72 6f 75 70 73 3a 20 |om>.News|groups: |
|00000060| 63 6f 6d 70 2e 6c 61 6e | 67 2e 63 2b 2b 0a 53 75 |comp.lan|g.c++.Su|
|00000070| 62 6a 65 63 74 3a 20 52 | 65 3a 20 56 69 72 74 75 |bject: R|e: Virtu|
|00000080| 61 6c 73 20 69 6e 20 63 | 6f 6e 73 74 72 75 63 74 |als in c|onstruct|
|00000090| 6f 72 0a 44 61 74 65 3a | 20 57 65 64 2c 20 32 31 |or.Date:| Wed, 21|
|000000a0| 20 46 65 62 20 31 39 39 | 36 20 31 34 3a 33 33 3a | Feb 199|6 14:33:|
|000000b0| 32 30 20 2d 30 36 30 30 | 0a 4f 72 67 61 6e 69 7a |20 -0600|.Organiz|
|000000c0| 61 74 69 6f 6e 3a 20 49 | 42 4d 20 52 6f 63 68 65 |ation: I|BM Roche|
|000000d0| 73 74 65 72 2c 20 4d 4e | 0a 4d 65 73 73 61 67 65 |ster, MN|.Message|
|000000e0| 2d 49 44 3a 20 3c 33 31 | 32 42 38 31 39 30 2e 34 |-ID: <31|2B8190.4|
|000000f0| 31 43 36 40 72 63 68 6c | 61 6e 64 2e 69 62 6d 2e |1C6@rchl|and.ibm.|
|00000100| 63 6f 6d 3e 0a 52 65 66 | 65 72 65 6e 63 65 73 3a |com>.Ref|erences:|
|00000110| 20 3c 33 31 32 41 33 41 | 37 32 2e 36 38 38 44 40 | <312A3A|72.688D@|
|00000120| 73 63 6f 70 75 73 2e 63 | 68 3e 0a 4e 4e 54 50 2d |scopus.c|h>.NNTP-|
|00000130| 50 6f 73 74 69 6e 67 2d | 48 6f 73 74 3a 20 70 6f |Posting-|Host: po|
|00000140| 77 65 72 74 6f 6f 6c 2e | 72 63 68 6c 61 6e 64 2e |wertool.|rchland.|
|00000150| 69 62 6d 2e 63 6f 6d 0a | 4d 69 6d 65 2d 56 65 72 |ibm.com.|Mime-Ver|
|00000160| 73 69 6f 6e 3a 20 31 2e | 30 0a 43 6f 6e 74 65 6e |sion: 1.|0.Conten|
|00000170| 74 2d 54 79 70 65 3a 20 | 74 65 78 74 2f 70 6c 61 |t-Type: |text/pla|
|00000180| 69 6e 3b 20 63 68 61 72 | 73 65 74 3d 75 73 2d 61 |in; char|set=us-a|
|00000190| 73 63 69 69 0a 43 6f 6e | 74 65 6e 74 2d 54 72 61 |scii.Con|tent-Tra|
|000001a0| 6e 73 66 65 72 2d 45 6e | 63 6f 64 69 6e 67 3a 20 |nsfer-En|coding: |
|000001b0| 37 62 69 74 0a 58 2d 4d | 61 69 6c 65 72 3a 20 4d |7bit.X-M|ailer: M|
|000001c0| 6f 7a 69 6c 6c 61 20 32 | 2e 30 20 28 58 31 31 3b |ozilla 2|.0 (X11;|
|000001d0| 20 49 3b 20 41 49 58 20 | 31 29 0a 54 6f 3a 20 46 | I; AIX |1).To: F|
|000001e0| 61 62 69 65 6e 6e 65 20 | 47 75 69 6e 6e 61 72 64 |abienne |Guinnard|
|000001f0| 20 3c 67 75 69 6e 6e 61 | 72 64 5f 66 40 73 63 6f | <guinna|rd_f@sco|
|00000200| 70 75 73 2e 63 68 3e 0a | 0a 46 61 62 69 65 6e 6e |pus.ch>.|.Fabienn|
|00000210| 65 20 47 75 69 6e 6e 61 | 72 64 20 77 72 6f 74 65 |e Guinna|rd wrote|
|00000220| 3a 0a 3e 20 0a 3e 20 48 | 69 2c 0a 3e 20 0a 3e 20 |:.> .> H|i,.> .> |
|00000230| 64 6f 65 73 20 61 6e 79 | 6f 6e 65 20 6b 6e 6f 77 |does any|one know|
|00000240| 20 77 68 79 20 74 68 65 | 20 66 6f 6c 6c 6f 77 69 | why the| followi|
|00000250| 6e 67 20 63 6f 64 65 20 | 64 6f 65 73 6e 27 74 20 |ng code |doesn't |
|00000260| 77 6f 72 6b 20 3f 0a 3e | 20 0a 3e 20 52 75 6e 2d |work ?.>| .> Run-|
|00000270| 74 69 6d 65 20 65 72 72 | 6f 72 3a 20 70 75 72 65 |time err|or: pure|
|00000280| 20 76 69 72 74 75 61 6c | 20 66 75 6e 63 74 69 6f | virtual| functio|
|00000290| 6e 20 63 61 6c 6c 65 64 | 0a 0a 42 65 63 61 75 73 |n called|..Becaus|
|000002a0| 65 20 74 68 65 20 62 61 | 73 65 20 63 6c 61 73 73 |e the ba|se class|
|000002b0| 20 63 6f 6e 73 74 72 75 | 63 74 6f 72 20 67 65 74 | constru|ctor get|
|000002c0| 73 20 63 61 6c 6c 65 64 | 20 66 69 72 73 74 2e 20 |s called| first. |
|000002d0| 20 41 74 20 74 68 65 20 | 74 69 6d 65 20 74 68 69 | At the |time thi|
|000002e0| 73 0a 63 6f 6e 73 74 72 | 75 63 74 6f 72 20 69 73 |s.constr|uctor is|
|000002f0| 20 72 75 6e 6e 69 6e 67 | 2c 20 61 6c 6c 20 69 6e | running|, all in|
|00000300| 20 22 6b 6e 6f 77 73 22 | 20 69 73 20 74 68 61 74 | "knows"| is that|
|00000310| 20 69 74 20 69 73 20 6f | 66 20 62 61 73 65 20 63 | it is o|f base c|
|00000320| 6c 61 73 73 20 74 79 70 | 65 2c 0a 69 74 20 64 6f |lass typ|e,.it do|
|00000330| 65 73 6e 27 74 20 22 6b | 6e 6f 77 22 20 69 66 20 |esn't "k|now" if |
|00000340| 69 74 20 69 73 20 72 65 | 61 6c 6c 79 20 74 68 65 |it is re|ally the|
|00000350| 20 62 61 73 65 20 63 6c | 61 73 73 20 70 6f 72 74 | base cl|ass port|
|00000360| 69 6f 6e 20 6f 66 20 73 | 6f 6d 65 20 64 65 72 69 |ion of s|ome deri|
|00000370| 76 65 64 0a 6f 62 6a 65 | 63 74 2e 2e 2e 20 20 54 |ved.obje|ct... T|
|00000380| 68 65 72 65 66 6f 72 65 | 20 74 68 65 20 65 6e 74 |herefore| the ent|
|00000390| 72 69 65 73 20 69 6e 20 | 74 68 65 20 76 69 72 74 |ries in |the virt|
|000003a0| 75 61 6c 20 74 61 62 6c | 65 20 70 6f 69 6e 74 20 |ual tabl|e point |
|000003b0| 74 6f 20 74 68 65 20 62 | 61 73 65 0a 63 6c 61 73 |to the b|ase.clas|
|000003c0| 73 27 20 76 69 72 74 75 | 61 6c 20 66 75 6e 63 74 |s' virtu|al funct|
|000003d0| 69 6f 6e 73 2e 20 20 54 | 68 61 74 27 73 20 77 68 |ions. T|hat's wh|
|000003e0| 79 20 69 74 20 61 74 74 | 65 6d 70 74 73 20 74 6f |y it att|empts to|
|000003f0| 20 63 61 6c 6c 20 74 68 | 65 20 70 75 72 65 20 76 | call th|e pure v|
|00000400| 69 72 74 2e 0a 0a 59 6f | 75 20 63 61 6e 20 73 65 |irt...Yo|u can se|
|00000410| 65 20 74 68 69 73 20 68 | 61 70 70 65 6e 69 6e 67 |e this h|appening|
|00000420| 20 77 69 74 68 20 74 68 | 65 20 63 6f 64 65 20 62 | with th|e code b|
|00000430| 65 6c 6f 77 2e 20 20 4e | 6f 74 65 2c 20 69 66 20 |elow. N|ote, if |
|00000440| 69 64 28 29 20 77 65 72 | 65 20 70 75 72 65 0a 76 |id() wer|e pure.v|
|00000450| 69 72 74 75 61 6c 2c 20 | 74 68 65 20 70 72 6f 67 |irtual, |the prog|
|00000460| 72 61 6d 20 77 6f 75 6c | 64 20 63 72 61 73 68 2e |ram woul|d crash.|
|00000470| 2e 2e 0a 0a 23 69 6e 63 | 6c 75 64 65 3c 69 6f 73 |....#inc|lude<ios|
|00000480| 74 72 65 61 6d 2e 68 3e | 0a 0a 63 6c 61 73 73 20 |tream.h>|..class |
|00000490| 66 6f 6f 20 7b 0a 20 20 | 70 75 62 6c 69 63 3a 0a |foo {. |public:.|
|000004a0| 20 20 20 20 66 6f 6f 28 | 29 3b 0a 20 20 20 20 76 | foo(|);. v|
|000004b0| 69 72 74 75 61 6c 20 7e | 66 6f 6f 28 29 20 7b 7d |irtual ~|foo() {}|
|000004c0| 0a 20 20 20 20 76 69 72 | 74 75 61 6c 20 76 6f 69 |. vir|tual voi|
|000004d0| 64 20 69 64 28 29 20 63 | 6f 6e 73 74 3b 0a 7d 3b |d id() c|onst;.};|
|000004e0| 0a 0a 66 6f 6f 3a 3a 66 | 6f 6f 28 29 20 7b 0a 20 |..foo::f|oo() {. |
|000004f0| 20 20 20 63 6f 75 74 20 | 3c 3c 20 22 53 74 61 72 | cout |<< "Star|
|00000500| 74 20 66 6f 6f 28 29 22 | 20 3c 3c 20 65 6e 64 6c |t foo()"| << endl|
|00000510| 3b 0a 20 20 20 20 69 64 | 28 29 3b 0a 20 20 20 20 |;. id|();. |
|00000520| 63 6f 75 74 20 3c 3c 20 | 22 45 6e 64 20 66 6f 6f |cout << |"End foo|
|00000530| 28 29 22 20 3c 3c 20 65 | 6e 64 6c 3b 20 7d 0a 0a |()" << e|ndl; }..|
|00000540| 76 6f 69 64 20 66 6f 6f | 3a 3a 69 64 28 29 20 63 |void foo|::id() c|
|00000550| 6f 6e 73 74 20 7b 0a 20 | 20 20 20 63 6f 75 74 20 |onst {. | cout |
|00000560| 3c 3c 20 22 49 27 6d 20 | 61 20 66 6f 6f 21 22 20 |<< "I'm |a foo!" |
|00000570| 3c 3c 20 65 6e 64 6c 3b | 20 7d 0a 0a 63 6c 61 73 |<< endl;| }..clas|
|00000580| 73 20 62 61 72 20 3a 20 | 70 75 62 6c 69 63 20 66 |s bar : |public f|
|00000590| 6f 6f 20 7b 0a 20 20 70 | 75 62 6c 69 63 3a 0a 20 |oo {. p|ublic:. |
|000005a0| 20 20 20 62 61 72 28 29 | 3b 0a 20 20 20 20 76 69 | bar()|;. vi|
|000005b0| 72 74 75 61 6c 20 76 6f | 69 64 20 69 64 28 29 20 |rtual vo|id id() |
|000005c0| 63 6f 6e 73 74 3b 0a 7d | 3b 0a 0a 62 61 72 3a 3a |const;.}|;..bar::|
|000005d0| 62 61 72 28 29 20 7b 0a | 20 20 20 20 63 6f 75 74 |bar() {.| cout|
|000005e0| 20 3c 3c 20 22 53 74 61 | 72 74 20 62 61 72 28 29 | << "Sta|rt bar()|
|000005f0| 22 20 3c 3c 20 65 6e 64 | 6c 3b 0a 20 20 20 20 69 |" << end|l;. i|
|00000600| 64 28 29 3b 0a 20 20 20 | 20 63 6f 75 74 20 3c 3c |d();. | cout <<|
|00000610| 20 22 45 6e 64 20 62 61 | 72 28 29 22 20 3c 3c 20 | "End ba|r()" << |
|00000620| 65 6e 64 6c 3b 20 7d 0a | 0a 76 6f 69 64 20 62 61 |endl; }.|.void ba|
|00000630| 72 3a 3a 69 64 28 29 20 | 63 6f 6e 73 74 20 7b 0a |r::id() |const {.|
|00000640| 20 20 20 20 63 6f 75 74 | 20 3c 3c 20 22 49 27 6d | cout| << "I'm|
|00000650| 20 61 20 62 61 72 21 22 | 20 3c 3c 20 65 6e 64 6c | a bar!"| << endl|
|00000660| 3b 20 7d 0a 0a 63 6c 61 | 73 73 20 62 61 7a 20 3a |; }..cla|ss baz :|
|00000670| 20 70 75 62 6c 69 63 20 | 66 6f 6f 20 7b 0a 20 20 | public |foo {. |
|00000680| 70 75 62 6c 69 63 3a 0a | 20 20 20 20 62 61 7a 28 |public:.| baz(|
|00000690| 29 3b 0a 20 20 20 20 76 | 69 72 74 75 61 6c 20 76 |);. v|irtual v|
|000006a0| 6f 69 64 20 69 64 28 29 | 20 63 6f 6e 73 74 3b 0a |oid id()| const;.|
|000006b0| 7d 3b 0a 0a 62 61 7a 3a | 3a 62 61 7a 28 29 20 7b |};..baz:|:baz() {|
|000006c0| 0a 20 20 20 20 63 6f 75 | 74 20 3c 3c 20 22 53 74 |. cou|t << "St|
|000006d0| 61 72 74 20 62 61 7a 28 | 29 22 20 3c 3c 20 65 6e |art baz(|)" << en|
|000006e0| 64 6c 3b 0a 20 20 20 20 | 69 64 28 29 3b 0a 20 20 |dl;. |id();. |
|000006f0| 20 20 63 6f 75 74 20 3c | 3c 20 22 45 6e 64 20 62 | cout <|< "End b|
|00000700| 61 7a 28 29 22 20 3c 3c | 20 65 6e 64 6c 3b 20 7d |az()" <<| endl; }|
|00000710| 0a 0a 76 6f 69 64 20 62 | 61 7a 3a 3a 69 64 28 29 |..void b|az::id()|
|00000720| 20 63 6f 6e 73 74 20 7b | 0a 20 20 20 20 63 6f 75 | const {|. cou|
|00000730| 74 20 3c 3c 20 22 49 27 | 6d 20 61 20 62 61 7a 21 |t << "I'|m a baz!|
|00000740| 22 20 3c 3c 20 65 6e 64 | 6c 3b 20 7d 0a 0a 0a 69 |" << end|l; }...i|
|00000750| 6e 74 20 6d 61 69 6e 28 | 29 20 7b 0a 20 20 20 20 |nt main(|) {. |
|00000760| 62 61 72 20 72 3b 0a 20 | 20 20 20 62 61 7a 20 7a |bar r;. | baz z|
|00000770| 3b 0a 20 20 20 20 72 65 | 74 75 72 6e 20 30 3b 20 |;. re|turn 0; |
|00000780| 7d 0a 0a 0a 57 68 65 6e | 20 72 75 6e 20 79 6f 75 |}...When| run you|
|00000790| 20 73 68 6f 75 6c 64 20 | 73 65 65 20 73 6f 6d 65 | should |see some|
|000007a0| 74 68 69 6e 67 20 6c 69 | 6b 65 3a 0a 0a 2e 2e 2e |thing li|ke:.....|
|000007b0| 2f 73 72 63 2f 73 6e 69 | 70 3e 20 61 2e 6f 75 74 |/src/sni|p> a.out|
|000007c0| 0a 53 74 61 72 74 20 66 | 6f 6f 28 29 0a 49 27 6d |.Start f|oo().I'm|
|000007d0| 20 61 20 66 6f 6f 21 0a | 45 6e 64 20 66 6f 6f 28 | a foo!.|End foo(|
|000007e0| 29 0a 53 74 61 72 74 20 | 62 61 72 28 29 0a 49 27 |).Start |bar().I'|
|000007f0| 6d 20 61 20 62 61 72 21 | 0a 45 6e 64 20 62 61 72 |m a bar!|.End bar|
|00000800| 28 29 0a 53 74 61 72 74 | 20 66 6f 6f 28 29 0a 49 |().Start| foo().I|
|00000810| 27 6d 20 61 20 66 6f 6f | 21 0a 45 6e 64 20 66 6f |'m a foo|!.End fo|
|00000820| 6f 28 29 0a 53 74 61 72 | 74 20 62 61 7a 28 29 0a |o().Star|t baz().|
|00000830| 49 27 6d 20 61 20 62 61 | 7a 21 0a 45 6e 64 20 62 |I'm a ba|z!.End b|
|00000840| 61 7a 28 29 0a 0a 0a 4e | 6f 74 65 20 74 68 61 74 |az()...N|ote that|
|00000850| 20 77 68 65 6e 20 72 75 | 6e 6e 69 6e 67 20 69 6e | when ru|nning in|
|00000860| 20 66 6f 6f 27 73 20 63 | 6f 6e 73 74 72 75 63 74 | foo's c|onstruct|
|00000870| 6f 72 20 69 74 20 63 61 | 6e 6e 6f 74 20 74 65 6c |or it ca|nnot tel|
|00000880| 6c 20 74 68 65 0a 64 69 | 66 66 65 72 65 6e 63 65 |l the.di|fference|
|00000890| 20 62 65 74 77 65 65 6e | 20 74 68 65 20 62 61 72 | between| the bar|
|000008a0| 20 61 6e 64 20 74 68 65 | 20 62 61 7a 20 69 6e 73 | and the| baz ins|
|000008b0| 74 61 6e 63 65 2e 2e 2e | 0a 0a 0a 2d 2d 20 0a 0a |tance...|...-- ..|
|000008c0| 50 68 69 6c 20 53 74 61 | 69 74 65 2c 20 28 35 30 |Phil Sta|ite, (50|
|000008d0| 37 29 20 32 35 33 2d 32 | 35 32 39 2c 20 74 65 61 |7) 253-2|529, tea|
|000008e0| 6d 20 4f 53 2f 32 0a 69 | 6e 74 65 72 6e 65 74 3a |m OS/2.i|nternet:|
|000008f0| 20 70 73 74 61 69 74 65 | 40 76 6e 65 74 2e 69 62 | pstaite|@vnet.ib|
|00000900| 6d 2e 63 6f 6d 20 20 69 | 6e 74 65 72 6e 61 6c 3a |m.com i|nternal:|
|00000910| 20 70 73 74 61 69 74 65 | 40 72 63 68 6c 61 6e 64 | pstaite|@rchland|
|00000920| 0a | |. | |
+--------+-------------------------+-------------------------+--------+--------+